const blogModel = require("./model/blogModel");
const blogTypeModule = require("./model/blogTypeModule")

// 添加博客分类
module.exports.addNlogTypeDao = async function (blogTypeInfo) {
  const {dataValues} = await blogTypeModule.create(blogTypeInfo);
  return dataValues;
}

// 获取所有博客的分类
module.exports.finAllBlogTypeDao = async function () {
  return await blogTypeModule.findAll();
}

// 获取指定一个博客分类
module.exports.findOneBlogTypeDao = async function (id) {
  const {dataValues} = await blogTypeModule.findByPk(id);
  return dataValues;
}

// 修改一个博客分类
module.exports.updateBlogTypeDao = async function (id, newBlogTypeInfo) {
  await blogTypeModule.update(newBlogTypeInfo, {
    where: {
      id,
    }
  });
  const {dataValues} = await blogTypeModule.findByPk(id);
  return dataValues;
}

// 删除一个博客分类
module.exports.deleteBlogTypeDao = async function (id) {
  return await blogTypeModule.destroy({
    where: {
      id,
    }
  })
}

// 根据id新增对应博客分类的文章数量
module.exports.addBlogToType = async function (id) {
  const data = await blogTypeModule.findByPk(id);
  data.articleCount++;
  await data.save();
  return;
}
// 根据id减少对应博客分类的文章数量
module.exports.reduceBlogToType = async function (id) {
  const data = await blogTypeModule.findByPk(id);
  data.articleCount--;
  if(data.articleCount < 0) {
    data.articleCount = 0;
  }
  await data.save();
  return;
}

